В этом упражнении вы установите контейнерные утилиты и протестируете их, запустив простой контейнер без прав root.
Результаты
Вы сможете установить утилиты управления контейнерами и использовать их для запуска контейнера.
Войдите на машину workstation как пользователь student с паролем student.
workstation
student
На машине workstation выполните команду lab containers-basic start. Эта команда запускает подготовительный сценарий, который проверяет доступность машины servera в сети. Она также проверяет и настраивает реестр контейнеров и обеспечивает хранение в нем образа контейнера, используемого для этого упражнения.
lab containers-basic start
servera
[student@workstation ~]$ lab containers-basic start
[student@workstation ~]$
Процедура 13.1. Инструкции
С помощью команды ssh войдите на машину servera как пользователь student. Системы настроены на использование ключей SSH для аутентификации, поэтому пароль не требуется.
ssh
[student@workstation ~]$ ssh student@servera ...output omitted... [student@servera ~]$
ssh student@servera
[student@servera ~]$
Установите Yum-модуль container-tools с помощью команды yum.
yum
[student@servera ~]$ sudo yum module install container-tools [sudo] password for student: student ...output omitted... Is this ok [y/N]: y ...output omitted... Complete!
sudo yum module install container-tools
[sudo] password for student:
Is this ok [y/N]:
y
Войдите в реестр контейнеров с помощью команды podman login.
podman login
[student@servera ~]$ podman login registry.lab.example.com Username: admin Password: redhat321 Login Succeeded!
podman login registry.lab.example.com
Username:
admin
Password:
redhat321
Извлеките образ контейнера из реестра, указав полностью определенное имя контейнера в команде podman pull.
podman pull
[student@servera ~]$ podman pull registry.lab.example.com/rhel8/httpd-24:latest Trying to pull registry.lab.example.com/rhel8/httpd-24:latest... Getting image source signatures Copying blob 77c58f19bd6e done Copying blob 47db82df7f3f done Copying blob 9d20433efa0c done Copying blob 71391dc11a78 done Copying config 7e93f25a94 done Writing manifest to image destination Storing signatures 7e93f25a946892c9c175b74a0915c96469e3b4845a6da9f214fd3ec19c3d7070
podman pull registry.lab.example.com/rhel8/httpd-24:latest
Запустите контейнер из образа, подключите его к терминалу, назначьте ему имя, а затем запустите интерактивную оболочку bash с помощью команды podman run. Поскольку тег не указан, предполагается тег latest.
podman run
latest
Следующая команда podman run очень длинная, и ее необходимо вводить в одной строке:
[student@servera ~]$ podman run --name myweb -it registry.lab.example.com/rhel8/httpd-24 /bin/bash bash-4.4$
podman run --name myweb -it registry.lab.example.com/rhel8/httpd-24 /bin/bash
bash-4.4$
Отобразите список запущенных процессов в контейнере. Вы увидите только те процессы, которые запущены в контейнере. Вы не увидите никаких других процессов, запущенных на сервере.
bash-4.4$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND default 1 6.6 0.1 12020 3120 pts/0 Ss 21:52 0:00 /bin/bash default 6 0.0 0.1 44596 3296 pts/0 R+ 21:52 0:00 ps aux
ps aux
Отобразите текущие имя пользователя и идентификатор внутри контейнера.
bash-4.4$ id uid=1001(default) gid=0(root) groups=0(root)
id
Выйдите из командной оболочки контейнера.
bash-4.4$ exit exit
exit
Выполните команду httpd-v в контейнере, используя образ контейнера rhel8/httpd-24, и после завершения выполнения команды удалите контейнер.
httpd-v
rhel8/httpd-24
[student@servera ~]$ podman run --rm registry.lab.example.com/rhel8/httpd-24 httpd -v Server version: Apache/2.4.37 (Red Hat Enterprise Linux) Server built: Dec 2 2019 14:15:24
podman run --rm registry.lab.example.com/rhel8/httpd-24 httpd -v
Выйдите с servera.
[student@servera ~]$ exit logout Connection to servera closed. [student@workstation ~]$
Конец
На машине workstation запустите сценарий lab containers-basic finish, чтобы закончить это упражнение.
lab containers-basic finish
[student@workstation ~]$ lab containers-basic finish
Упражнение завершено.